/*
 * Source code written by Tácio S. Diogo.
 * Email: taciosd@gmail.com
 * Any copy or use without permission is prohibited.
 */
package app.comportamentos;

import app.agentes.Agente;
import app.reputacao.ACAO;
import app.modelo.Ambiente;
import app.modelo.Console;
import app.modelo.Constantes;
import jade.core.Agent;
import jade.core.behaviours.TickerBehaviour;
import jade.lang.acl.ACLMessage;

/**
 *
 * @author Tácio S. Diogo
 */
public class CaminharPelasRuas extends TickerBehaviour {
    
    public CaminharPelasRuas(Agent agente) {
        super(agente, 2000);
    }

    @Override
    protected void onTick() {
        Ambiente.getInstance().executarAcao((Agente)myAgent, ACAO.CAMINHAR);
        Agente agente = (Agente)myAgent;
        
        ACLMessage msg = agente.receive();
        if (msg != null) {
            String content = msg.getContent();
            if (content.equals(Constantes.PEDIDO_VOTO)) {
                String nomeCandidato = agente.getNomeCandidatoMaiorReputacao();
                ACLMessage reply = msg.createReply();
                reply.setContent(nomeCandidato);
                reply.setConversationId("Voto");
                agente.send(reply);
                Console.escrever(myAgent, "Eu voto pelo candidato " + nomeCandidato);
                return;
            }
        }
        
        if (agente.getPropagandaAtual() != null)
            agente.addBehaviour(new VerPropaganda(agente));
    }
}
